g_signal_new (g_intern_static_string ("pick-embedded-child"),
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- 0,
+ G_STRUCT_OFFSET (GdkWindowObjectClass, pick_embedded_child),
accumulate_get_window, NULL,
_gdk_marshal_OBJECT__DOUBLE_DOUBLE,
GDK_TYPE_WINDOW,
g_signal_new (g_intern_static_string ("to-embedder"),
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- 0,
+ G_STRUCT_OFFSET (GdkWindowObjectClass, to_embedder),
NULL, NULL,
_gdk_marshal_VOID__DOUBLE_DOUBLE_POINTER_POINTER,
G_TYPE_NONE,
g_signal_new (g_intern_static_string ("from-embedder"),
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- 0,
+ G_STRUCT_OFFSET (GdkWindowObjectClass, from_embedder),
NULL, NULL,
_gdk_marshal_VOID__DOUBLE_DOUBLE_POINTER_POINTER,
G_TYPE_NONE,
{
GdkDrawableClass parent_class;
- cairo_surface_t * (* create_surface) (GdkWindow *window,
- gint width,
- gint height);
+ GdkWindow * (* pick_embedded_child) (GdkWindow *window,
+ gdouble x,
+ gdouble y);
+
+ /* the following 3 signals will only be emitted by offscreen windows */
+ void (* to_embedder) (GdkWindow *window,
+ gdouble offscreen_x,
+ gdouble offscreen_y,
+ gdouble *embedder_x,
+ gdouble *embedder_y);
+ void (* from_embedder) (GdkWindow *window,
+ gdouble embedder_x,
+ gdouble embedder_y,
+ gdouble *offscreen_x,
+ gdouble *offscreen_y);
+ cairo_surface_t * (* create_surface) (GdkWindow *window,
+ gint width,
+ gint height);
+
+ /* Padding for future expansion */
+ void (*_gdk_reserved1) (void);
+ void (*_gdk_reserved2) (void);
+ void (*_gdk_reserved3) (void);
+ void (*_gdk_reserved4) (void);
+ void (*_gdk_reserved5) (void);
+ void (*_gdk_reserved6) (void);
+ void (*_gdk_reserved7) (void);
+ void (*_gdk_reserved8) (void);
};
/* Windows